1
O Paradigma Funcional: Transformação sobre Mutação
AI019Lesson 2
00:00

O paradigma funcional muda o modelo mental do desenvolvedor de "atualizar uma caixa com estado" para aplicar transformações matemáticas a valores imutáveis. No Elixir, os dados nunca são alterados; eles apenas renascem em novas formas.

1. A Afirmação Matemática

Quando você escreve $x = a + 1$, você não está atribuindo um resultado a uma variável. Em vez disso, você está simplesmente afirmando que as expressões $x$ e $a + 1$ têm o mesmo valor. Isso reflete a lógica algébrica onde $x$ representa um valor fixo em um contexto específico.

2. Imutabilidade como Garantia

No Elixir, todos os valores são imutáveis. Os dados não podem ser alterados após sua criação. Isso elimina os "efeitos colaterais" onde uma função poderia mudar inesperadamente uma variável global ou um objeto passado, garantindo que o código seja previsível e seguro em múltiplas threads.

ANTES (Entrada)"elixir"String.capitalizeDEPOIS (Resultado)"Elixir"Os dados originais permanecem inalterados

3. Transformação versus Mutação

Nunca modificamos dados in loco. O Elixir não tem atribuição; ao invés disso, ele tenta corresponder valores a padrões. Para "mudar" um valor, passamos os dados originais por uma função para produzir uma versão completamente nova.

iex> name = "elixir"
"elixir"
iex> cap_name = String.capitalize name
"Elixir"
iex> name
"elixir" (Ainda intocado!)
main.py
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>